/**
 * @author 冯进茹
 * @time 2022-12-02 14:13
 * @description 实现路由拦截
 */

import { deCodeApi } from "../utils"

export default function intercreptor(to,_,next){
    if(to.meta.nologin){
        next()
        return
    }
    let cache = sessionStorage.getItem('login-flag')||localStorage.getItem('auto-login')
    if(!cache){
        next('/login')
        return
    }
    try{
        cache = deCodeApi(cache)
        if (!cache) {
            next('/login')
            return
        }
        cache = cache.split('---')
        /** 保证token数据的时效性 */
        let passTime = Date.now() - cache[1]
        if (passTime > 2 * 60 * 60 * 1000) {
            next('/login')
            return
        }
        /** 保证token的正确性--读取sessionStorage和store中的token数据进行对比 */
        // let token = commonDefinition().getToken
        // if (cache[0] !== token) {
        //     next('/login')
        //     return
        // }
    }catch(e){
        console.log('token有误')
        next('/login')
    }
    next()
}